package com.dzxcqmxm.servlet.album;

import com.dzxcqmxm.Dao.AlbumDao;
import com.dzxcqmxm.Dao.UserDao;
import com.dzxcqmxm.Dao.impl.AlbumDaoImpl;
import com.dzxcqmxm.Dao.impl.UserDaoImpl;
import com.dzxcqmxm.JB.Album;
import com.dzxcqmxm.JB.User;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.bind.annotation.XmlTransient;
import java.io.File;
import java.io.IOException;

/**
 * 这里我要把数据库有关的写进来！就是一整条语句包括username什么的
 *是的
 */
public class addAlbumServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /**
         * 获取yhContent页面携带的session参数
         * session对象，在Servlet页面中获取的写法
         * request.getSession ().getAttribute ("XTXCName3");
         */
        Album album = new Album();
        String XTXCName = (String) request.getSession ().getAttribute ("XTXCName");

        System.out.println(XTXCName);
        //获取表单中我输入的数据
        album.setAlbumName(new String(request.getParameter("AlbumName" ).getBytes("iso-8859-1"),"UTF-8"));

        /**
         * 在本地文件夹新增用户相册
         */
        if(XTXCName!=null){
            File file = new File("D:/电子相册/"+XTXCName+"/"+album.getAlbumName());
            if(file.mkdirs()){
                System.out.println(XTXCName+album.getAlbumName()+"创建成功！");
            }
        }
        /**
         * 然后准备好要写进数据库里的数值，在执行增加的值
         */
        album.setXTXCName(XTXCName);
        album.setXTXCUrl("total/"+XTXCName);
        /**
         * 用户的名字取决于我登录的人是谁，那我怎么获得这个人？
         * 使用上下文对象即可
         * 不过得注册一下
         */
//        album.setUserName();
        ServletContext context = this.getServletContext();
        //获取数据，类似键值对，需要通过键名获取
        String username=(String) context.getAttribute("username");
        System.out.println("打印一下获得的全局变量username"+username);
        /**
         * 显然我现在已经可以成功获得了，前提我得先登录，登录了之后再上传数据，
         *
         */
        album.setUserName(username);
        album.setAlbumUrl(album.getXTXCUrl()+"/"+album.getAlbumName());
        System.out.println("测试album.getXTXCUrl()+\"/\"+album.getAlbumName()"+album.getXTXCUrl()+"/"+album.getAlbumName());
        /**
         * 这里设置保密属性，默认是公考，也就是不保密，所以保密值为0
         */
        album.setAlbumBaoMi("0");

        AlbumDao albumDao = new AlbumDaoImpl();
        /**
         * 执行增加方法
         */
        try {
            albumDao.addAlbum(album);
        } catch (Exception e) {
            e.printStackTrace();
        }

        /**
         * 请求转发的路径/，已经包括了，本项目的网络名，也就是一个斜杠等价于：http://localhost:8901/dzxc/
         */
        /*
        request.getRequestDispatcher("/admin/user/addUser.jsp").forward(request,response);
*/
        response.sendRedirect("/dzxc/YongHu/yhContent.jsp");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
}
